{{tag>Xenial synchronisation BROUILLON}}

Syncthing est un logiciel open source. Il permet de synchroniser les répertoires de plusieurs machines à travers Internet au moyen d'une connexion P2P sécurisée. Ils fonctionnent sur diverses plateformes en plus de Linux, dont Windows, OS-X, Android... Ce qui permet de créer son propre cloud sans passer par des serveurs hébergés par des tiers !
<note important>Ce logiciel etant en cours de developpement, il est fortement conseillé de faire une copie de sauvegarde des répertoires que vous souhaitez synchroniser avant de paramétrer Syncthing.</note>

===== Installation =====
  * ajouter la clé PGP :
<code>curl -s https://syncthing.net/release-key.txt | sudo apt-key add - </code>

  * Ajoutez à vos sources la source "release"
<code>echo "deb http://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list</code>

  * Puis rechargez vos sources et installez
<code>sudo apt-get update
sudo apt-get install syncthing</code>

===== Démarrage automatique =====
Actuellement (septembre 2016), les paquages n'incluent pas les fichiers de config pour demarrer Syncthing automatiquement comme un service. Voici donc comment le configurer avec [[Systemd]] sous Ubuntu 16.04.
Pour cela, commençons par crer le fichier syncthing@.service dans /etc/systemd/system/

<code>gksudo gedit /etc/systemd/system/syncthing@.service</code>

Et copiez y les infos suivantes :
<file txt syncthing@.service>
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
Wants=syncthing-inotify@.service

[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
UMask=0002

[Install]
WantedBy=multi-user.target
</file>
Reste à activer le service pour le ou les utilisateurs qui souhaitent utiliser Syncthing et démarrer le service (remplacer Toto par le nom d'utilisateur) :
<code>systemctl enable syncthing@Toto.service
systemctl start syncthing@Toto.service</code>

Si vous souhaitez contrôler que tout est dans l'ordre :
<code>systemctl status syncthing@Toto.service</code>

Ou consulter les logs :
<code>journalctl -e -u syncthing@Toto.service</code>

===== Utilisation =====

==== Premiers pas ====
 
Si vous avez correctement configuré le service Syncthing, vous devez y accéder dans votre navigateur web sur le port par défaut 8384 en entrant l'adresse localhost:8384.
Sinon, lancez Syncthing en tapant la commande suivante dans un terminal :
<code>Syncthing</code>

Vous obtenez alors une fenêtre proche de celle ci :
{{ :syncthing_uxenial_01.png?direct&500 |}}

Sur la partie gauche de la fenêtre intitulée **partage**, vous trouverez la liste des répertoires partagés et leur status (actuellement aucun). Sur la partie de droite, vous trouverez les informations relative à votre cluster de machines synchronisées (actuellement, il n'y a que la machine locale intitulée Zbox)\\
Syncthing ayant pour but de synchroniser des répertoires entre plusieurs machines, il vous faut au moins une autre machine sur laquelle est installée Syncthing.
<note important>Syncthing n'est pas capable de synchroniser des répertoires sur la même machine</note>
<note tip>Afin de faciliter la configuration de vos diverses machines, je recommande de créer des accès à distance pour travailler depuis une seule machine. Voir la section suivante pour plus d'infos à ce sujet</note>

==== Ajout d'une machine ====
Supposons que vous souhaitiez synchroniser des répertoires entre deux machines (ou appareils selon la terminologie de Syncthing) nommées A et B. A doit connaître l’existence de B et inversement. Pour cela, Syncthing identifie les machines à l'aide d'un identifiant unique crée lors de la première utilisation sur une nouvelle machine. Pour connaître l'identifiant de la machine A, il faut aller sur la page //Afficher mon ID// du menu //Actions//. On obtient alors la page suivante :
{{ :syncthing_uxenial_02.png?direct&400 |}}

Copiez l’identifiant  apparut et faite le parvenir par un moyen ou un autre à la machine B (par e-mail par exemple)
<note>Il n'est pas nécessaire de conserver secrètement cet identifiant : c'est une clé publique</note>

===== Contrôle à distance =====
 
Si vous souhaitez accéder à la console d'administration de Syncthing depuis une autre machine, vous pouvez utiliser 2 méthodes :

==== Par SSH en port forwarding ====
Si vous n'avez pas modifié le port standard de syncthing de votre serveur 192.168.0.20, vous vous y connectez en local sur le port 8384. Sur la machine client depuis laquelle vous souhaitez vous connecter à distance, nous allons rediriger le GUI sur le port 9090 :
<code>ssh -L 9090:127.0.0.1:8384 Toto@192.168.0.20</code>

Entrez maintenant l'adresse //localhost:9090// dans votre navigateur préféré et vous vous retrouverez sur la console d'administration de votre serveur 192.168.0.20

==== En modifiant les paramétres dans le GUI ====
Dans la page **Configuration** , il suffit de remplacer l'adresse du GUI //127.0.0.1:8384// par //0.0.0.1:8384//

<note warning> Avec cette méthode, il est impératif de mettre en place un Mot de passe et d'activer l'HTTPS pour le GUI (sur la page Configuration du GUI) pour éviter un évident trou de sécurité.</note>

===== Désinstallation =====
 
Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.
 
===== Voir aussi =====
 
  * **(en)** [[https://syncthing.net/]]
 
----
//Contributeurs principaux : [[utilisateurs:zarmu|zarmu]].//
 
//Basé sur [[https://docs.syncthing.net|« Documentation officielle de Syncthing »]].//